#1.张晗
setwd("C:/Users/86183/Desktop/data for class3") #设置新路径
filename1<-list.files("GSE67835",pattern="csv")#读取csv文件
filename2<-list.files("GSE67835",pattern="txt")#读取txt文件
setwd("C:/Users/86183/Desktop/data for class3/GSE67835")#设置新路径
x<-read.table(filename1[1])
for(n in 2:138)#循环读入所有csv文件并连接
{x1<-read.table(filename1[n])
 x<-merge(x,x1,by.x=1,by.y=1)  
}
rownames(x)<-x1$V1#设置行名
x<-x[,-1]  #删除第一列
list<-substring(filename1,1,10)#strsplit也可
colnames(x)<-list

filename2<-read.delim(filename2,skip=35)#跳过前35行读取
filename2<-filename2[,-1]
#提取目标行、转置、重命名
table2<-filename2[c(1,9,10,11),]  
table2<-t(table2)
colnames(table2)<-c("GSMnumber","tissue","celltype","age") #重命名

table1<-t(x)#转置table1
result<-merge(table2,table1,by.x=1,by.y=0)#合并table1和table2
library(openxlsx)
write.xlsx(result,"10-张晗-GSE.xlsx")#x写入xlsx文件

#2.张晗
#思路，利用TRUE=1，FALSE=0的特性将问题转化为
#①布尔型判断每行每列是否为零
#②每行每列相加
setwd("C:/Users/86183/Desktop/data for class3")
df<-read.csv("myresult.csv")
df<-df[,-1]
rownames(df)<-df[,1]
df<-df[,-1]#去除基因名列
n<-function(x)
  {sum(x==0)}
apply(df,1,n)#每行缺失
apply(df,2,n)#每列缺失
